import path from 'path';
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons';
import PostcssPxtorem from 'postcss-pxtorem'
import zipPack from "vite-plugin-zip-pack"
import { injectGlobalReference } from './plugins'
import { FileWatcher } from '@xuekl/file-watcher'

// https://vitejs.dev/config/
export default defineConfig({
    build: {
        outDir: 'dist/admin'
    },
    plugins: [
        injectGlobalReference(),
        new FileWatcher(path.resolve(process.cwd(), 'src/admin/views/module')),
        vue(),
        createSvgIconsPlugin({
            // 指定需要缓存的图标文件夹
            iconDirs: [path.resolve(process.cwd(), 'src/svg-icons/svg')],
            // 指定symbolId格式
            symbolId: '[name]',
        }),
        zipPack({
            inDir: 'dist/admin',  // 输入的文件夹，就是要打包的文件夹
            outDir: 'dist', // 打包好的 zip 文件放到哪个文件夹下
            outFileName: `admin.zip`, // 打包好的文件名，自行定义，这里我定义了一个 timeStringNow 变量，放置了此时此刻的时间 2024-01-06 这样的
            pathPrefix: ''
        })
    ],
    css: {
        postcss: {
            plugins: [
                PostcssPxtorem({
                    rootValue: 192,
                    propList: ['*'],
                })
            ]
        }
    }
})
